1. Field of the Invention
The present invention generally relates to Voice over Internet Protocol (VoIP) telephony systems, and more specifically, to a telephony system with distributed user interface logic and feature logic.
2. Description of the Background Art
The prior art includes a variety of distributed telephony systems. Traditional switched network systems have given way to new telephony systems that use VoIP on packet-switched networks. These VoIP systems offer the same functionality as traditional switched system such as the ability to transfer calls, put calls on hold, automated attendant functions, hunt groups, etc.
Traditionally, the VoIP phones were driven by logic and data located on a server. For example, in response to each key press on the VoIP phone, the prior art server sends an updated representation of the display or a “no-op” message indicating that the phone's display do not need to change in response to the key press. The prior art server therefore is actively involved in every step of the execution of feature logic and UI logic on the phone. Because of the server's active involvement in execution of application features, a momentary network glitch disrupting the connection between the server and the phone is more likely to cause a noticeable interruption of service.
Additionally, in network configurations where the phones connect to the server through a switch, a network glitch between the server and the switch affects the connections of all the phones being served by the server through the switch.
Moreover, the server's active involvement in execution of application features consumes bandwidth between the server and the switch, and the bandwidth between the switch and the phones, when the messages are passed back and forth between the server and the phones through the switch. This consumption of bandwidth limits the number of phones that can be managed by a particular server or a switch. Also, the server's active involvement in the execution of the application introduces latency into the system; in some environments, users may notice the amount of time it takes to make a round trip to the server with each key press event.